java实现 开始-->运行 的一个疑问

来源:百度知道 编辑:UC知道 时间:2024/06/15 23:50:10
开始-->运行 然后输入notepad再确定会打开一个记事本
在java中执行Runtime.getRuntime().exec("notepad");也有同样的效果

但是在开始-->运行中
java -classpath "D:\Program Files\Weka-3-4\weka.jar" weka.classifiers.trees.J48 -C 0.25 -M 2 -t "D:\iris.arff" -d "C:\iris.model"可以执行成功(作用是调用weka.jar中的J48,输出C:\iris.model)
那么在java中执行
String a="*****";
Runtime.getRuntime().exec(a);
*****的地方应该是什么?或者怎么在java中实现与开始运行同样的功能
我试过把"改成',把/改成\\都不成功

String command="java -classpath 'D:\\Program Files\\Weka-3-4\\weka.jar' weka.classifiers.trees.J48 -C 0.25 -M 2 -t 'D:\\iris.arff' -d 'C:\\iris.model'";
Runtime.getRuntime().exec(command);
这个没有错误,没有错误但是运行的效果与开始运行那里执行的效果不一样
到底****应该是什么

Runtime.getRuntime().exec("notepad");

String a = "notepad";
Runtime.getRuntime().exec(a);
执行效果是完全一样的,不可能像你说的会有不同

这个问题主要是要转义,你的\转义了,但双引号也要转移,不能用单引号替换,因为java命令中,参数-classpath后面的目录必须用双引号引起来,它不认单引号(你可以直接在命令行下做这个测试,将双引号改成单引号试试):

String command="java -classpath \"D:\\Program Files\\Weka-3-4\\weka.jar\" weka.classifiers.trees.J48 -C 0.25 -M 2 -t \"D:\\iris.arff\" -d \"C:\\iris.model\"";
Runtime.getRuntime().exec(command);

建议把要运行的程序放在当前程序所在文件夹中,a直接等于该文件的名字。这个很简单的。道理应该是这样。

hehe,你可以试着是开始菜单里试着输入一下, cmd ==>> 你的String command。。肯定是运行不了的.

你在cmd==>>输入d:==>>输入你的String command,呵呵,惊喜有可能回出现哦..